package com.neusoft.neuiotms.dcam.anhui.util;

import com.neusoft.bizcore.auth.common.bean.UserBean;
import com.neusoft.neuiotms.common.constant.AHConstants;

public class PermUtils {

    /** 系统管理员 */
    public static boolean isAdmin(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_ADMIN.equals(it.getRole())).findAny()
                .isPresent();
    }

    /** 资产采购员 */
    public static boolean isSLAssetBuyer(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_SL_ASSET_BUYER.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 部门资产管理员 */
    public static boolean isSLDeptAssetAdmin(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_SL_DEPT_ASSET_ADMIN.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 部门资产负责人 */
    public static boolean isSLDeptAssetPrincipal(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_SL_DEPT_ASSET_PRINCIPAL.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 资产归口管理员 */
    public static boolean isSLAssetOwnerAdmin(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_SL_ASSET_OWNER_ADMIN.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 资产归口负责人 */
    public static boolean isSLAssetOwnerPrincipal(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_SL_ASSET_OWNER_PRINCIPAL.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 系统用户 */
    public static boolean isKJSystemUser(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_SYSTEM_USER.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 只是系统用户 */
    public static boolean isOnlyKJSystemUser(final UserBean bean) {
        return (bean.getRoles().size() == 1)
                && bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_SYSTEM_USER.equals(it.getRole()))
                        .findAny()
                        .isPresent();
    }

    /** 部门资产专管员 */
    public static boolean isKJDeptAssetAdmin(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_DEPT_ASSET_ADMIN.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 部门负责人 */
    public static boolean isKJDeptPrincipal(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_DEPT_PRINCIPAL.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 资产管理员 */
    public static boolean isKJAssetAdmin(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_ASSET_ADMIN.equals(it.getRole()))
                .findAny()
                .isPresent();
    }

    /** 综合管理部负责人 */
    public static boolean isKJAdministrationPrincipal(final UserBean bean) {
        return bean.getRoles().stream().filter(it -> AHConstants.ROLE_KJ_ADMINISTRATION_PRINCIPAL.equals(it.getRole()))
                .findAny()
                .isPresent();
    }
}
